#ifndef _LT_IGameState_H_
#define _LT_IGameState_H_


namespace Lotus
{
	class Game;

	class LOTUS_API IGameState
	{
	friend class Game;
	public:
		IGameState();
		virtual ~IGameState();

		virtual void onEnter()=0;
		virtual void onLeave()=0;
		virtual void update(Ogre::Real timeSinceLastFrame)=0;
		
		virtual Ogre::SceneManager* getSceneManager() const;
		void setActiveCamera(Ogre::Camera* camera);

	protected:
		Ogre::SceneManager* sceneManager;
	};
}

#endif